#include<bits/stdc++.h>
struct q{
	int a,b,c,d,e;
};
q se[1001];
int n,a,b,c,d,e,cl[1001];
char m,f,g,h,i;
int main(){
	freopen("network1.in","r",stdin);
	freopen("network.out","w",stdout);
	scanf("%d",&n);
	for(int j=0;j<n;j++){
		scanf("%c",&m);
		while(getchar()!=0);
		scanf("%d%c%d%c%d%c%d%c%d",&a,&f,&b,&g,&c,&h,&d,&i,&e);
		if(f!='.'||g!='.'||h!='.'||i!=':'){
			puts("ERR");
			continue;
		}
		if(a>255||b>255||c>255||d>255||e>65535){
			puts("ERR");
			continue;
		}
		int p=0;
		for(int k=0;k<j;k++)
			if(se[k].a==a&&se[k].b==b&&se[k].c==c&&se[k].d==d&&se[k].e==e)p=k;
		if(m=='S'){
			if(p==1){
				puts("FAIL");
				n--,j--;
			}
			else{
				puts("OK");
				se[i].a=a,se[i].b=b,se[i].c=c,se[i].d=d,se[i].e=e;
			}
		}
		else{
			n--,j--;
			if(p==0)puts("FAIL");
			else{
				printf("%d\r",++cl[p]);
			}
		}
		
		
	}
}/*compile error*/
